package com.microservice.salmon.db.entities;

import java.util.Date;
import javax.persistence.*;

@Table(name = "t_messages")
public class Message {
    /**
     * 自增ID
     */
    @Id
    private Integer id;

    /**
     * 消息類型 0:后台手工发送的消息 1:系统自动发的消息
     */
    @Column(name = "msg_type")
    private Byte msgType;

    /**
     * 发送者ID
     */
    @Column(name = "send_user_id")
    private Integer sendUserId;

    /**
     * 接受者ID
     */
    @Column(name = "receive_user_id")
    private Integer receiveUserId;

    /**
     * 阅读状态 0:未读 1:已读
     */
    @Column(name = "msg_status")
    private Byte msgStatus;

    /**
     * 存放json数据 默认{from:1,dataId} from:0:普通消息 1:订单 2:商品 3:订单投诉 dataId:关联的记录id
     */
    @Column(name = "msg_json")
    private String msgJson;

    /**
     * 有效状态 1:有效 -1:无效
     */
    @Column(name = "data_flag")
    private Byte dataFlag;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    private Date createTime;

    /**
     * 更新时间
     */
    @Column(name = "update_time")
    private Date updateTime;

    /**
     * 消息内容
     */
    @Column(name = "msg_content")
    private String msgContent;

    /**
     * 获取自增ID
     *
     * @return id - 自增ID
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置自增ID
     *
     * @param id 自增ID
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取消息類型 0:后台手工发送的消息 1:系统自动发的消息
     *
     * @return msg_type - 消息類型 0:后台手工发送的消息 1:系统自动发的消息
     */
    public Byte getMsgType() {
        return msgType;
    }

    /**
     * 设置消息類型 0:后台手工发送的消息 1:系统自动发的消息
     *
     * @param msgType 消息類型 0:后台手工发送的消息 1:系统自动发的消息
     */
    public void setMsgType(Byte msgType) {
        this.msgType = msgType;
    }

    /**
     * 获取发送者ID
     *
     * @return send_user_id - 发送者ID
     */
    public Integer getSendUserId() {
        return sendUserId;
    }

    /**
     * 设置发送者ID
     *
     * @param sendUserId 发送者ID
     */
    public void setSendUserId(Integer sendUserId) {
        this.sendUserId = sendUserId;
    }

    /**
     * 获取接受者ID
     *
     * @return receive_user_id - 接受者ID
     */
    public Integer getReceiveUserId() {
        return receiveUserId;
    }

    /**
     * 设置接受者ID
     *
     * @param receiveUserId 接受者ID
     */
    public void setReceiveUserId(Integer receiveUserId) {
        this.receiveUserId = receiveUserId;
    }

    /**
     * 获取阅读状态 0:未读 1:已读
     *
     * @return msg_status - 阅读状态 0:未读 1:已读
     */
    public Byte getMsgStatus() {
        return msgStatus;
    }

    /**
     * 设置阅读状态 0:未读 1:已读
     *
     * @param msgStatus 阅读状态 0:未读 1:已读
     */
    public void setMsgStatus(Byte msgStatus) {
        this.msgStatus = msgStatus;
    }

    /**
     * 获取存放json数据 默认{from:1,dataId} from:0:普通消息 1:订单 2:商品 3:订单投诉 dataId:关联的记录id
     *
     * @return msg_json - 存放json数据 默认{from:1,dataId} from:0:普通消息 1:订单 2:商品 3:订单投诉 dataId:关联的记录id
     */
    public String getMsgJson() {
        return msgJson;
    }

    /**
     * 设置存放json数据 默认{from:1,dataId} from:0:普通消息 1:订单 2:商品 3:订单投诉 dataId:关联的记录id
     *
     * @param msgJson 存放json数据 默认{from:1,dataId} from:0:普通消息 1:订单 2:商品 3:订单投诉 dataId:关联的记录id
     */
    public void setMsgJson(String msgJson) {
        this.msgJson = msgJson;
    }

    /**
     * 获取有效状态 1:有效 -1:无效
     *
     * @return data_flag - 有效状态 1:有效 -1:无效
     */
    public Byte getDataFlag() {
        return dataFlag;
    }

    /**
     * 设置有效状态 1:有效 -1:无效
     *
     * @param dataFlag 有效状态 1:有效 -1:无效
     */
    public void setDataFlag(Byte dataFlag) {
        this.dataFlag = dataFlag;
    }

    /**
     * 获取创建时间
     *
     * @return create_time - 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取更新时间
     *
     * @return update_time - 更新时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置更新时间
     *
     * @param updateTime 更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取消息内容
     *
     * @return msg_content - 消息内容
     */
    public String getMsgContent() {
        return msgContent;
    }

    /**
     * 设置消息内容
     *
     * @param msgContent 消息内容
     */
    public void setMsgContent(String msgContent) {
        this.msgContent = msgContent;
    }
}